home *** CD-ROM | disk | FTP | other *** search
- {*************************************************}
- {* QuickReport for Delphi *}
- {* Demo Report TextList *}
- {* *}
- {* Shows how to use the OnNeedData event to *}
- {* create reports from custom datasources *}
- {*************************************************}
-
-
- unit TextList;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, Quickrep, ExtCtrls;
-
- type
- TTextRep = class(TForm)
- QRBand1: TQRBand;
- Rep: TQuickReport;
- QRLabel1: TQRLabel;
- QRBand2: TQRBand;
- QRBand3: TQRBand;
- QRLabel2: TQRLabel;
- QRSysData3: TQRSysData;
- QRSysData1: TQRSysData;
- QRSysData2: TQRSysData;
- procedure RepBeforePrint(var PrintReport : Boolean);
- procedure RepAfterPrint(Sender: TObject);
- procedure RepNeedData(var MoreData: Boolean);
- private
- { Private declarations }
- aFile : Text;
- public
- { Public declarations }
- end;
-
- var
- TextRep: TTextRep;
-
- implementation
-
- {$R *.DFM}
-
- procedure TTextRep.RepBeforePrint(var PrintReport : Boolean);
- var
- aOpenDialog : TOpenDialog;
- begin
- aOpenDialog:=TopenDialog.Create(self);
- with aOpenDialog do begin
- Filter:='Pascal files (*.PAS)|*.PAS|Text files (*.TXT)|*.TXT';
- Options:=[ofFileMustExist];
- if not execute then PrintReport:=false
- else begin
- AssignFile(aFile,Filename);
- Reset(afile);
- Rep.ReportTitle:=Filename;
- end;
- Free;
- end;
- end;
-
- procedure TTextRep.RepAfterPrint(Sender: TObject);
- begin
- CloseFile(aFile);
- end;
-
- procedure TTextRep.RepNeedData(var MoreData: Boolean);
- var
- Line : String;
- begin
- if not eof(aFile) then begin
- Readln(aFile,Line);
- QRLabel1.Caption:=Line;
- MoreData:=True;
- end
- else MoreData:=False;
- end;
-
- end.
-